{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第22章 无监督学习方法总结\n",
    "## 无监督学习方法的关系和特点\n",
    "\n",
    "第2篇详细介绍了八种常用的统计机器学习方法，即聚类方法（包括层次聚类与k均值聚类）、奇异值分解（SVD）、主成分分析（PCA）、无监督学习方法总结\n",
    "22.1无监潜在语义分析（LSA）、概率潜在语义分析（PLSA）、马尔可夫链蒙特卡罗法（CMC，包括 Metropolis-Hastings-算法和吉布斯抽样）、潜在狄利克雷分配（LDA）、 PageRank算法。此外，还简单介绍了另外三种常用的统计机器学习方法，即非负矩阵分解（NMF）变分推理、幂法。这些方法通常用于无监督学习的聚类、降维、话题分析以及图分析。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 表 无监督学习方法的特点\n",
    "|          | 方法         | 模型                 | 策略                 | 算法                 |\n",
    "| -------- | ------------ | -------------------- | -------------------- | -------------------- |\n",
    "| 聚类     | 层次聚类     | 聚类树               | 类内样本距离最小     | 启发式算法           |\n",
    "|          | k均值聚类    | k中心聚类            | 样本与类中心距离最小 | 迭代算法             |\n",
    "|          | 高斯混合模型 | 高斯混合模型         | 似然函数最大         | EM算法               |\n",
    "| 降维     | PCA          | 低维正交空间         | 方差最大             | SVD                  |\n",
    "| 话题分析 | LSA          | 矩阵分解模型         | 平方损失最小         | SVD                  |\n",
    "|          | NMF          | 矩阵分解模型         | 平方损失最小         | 非负矩阵分解         |\n",
    "|          | PLSA         | PLSA模型             | 似然函数最大         | EM算法               |\n",
    "|          | LDA          | LDA模型              | 后验概率估计         | 吉布斯抽样，变分推理 |\n",
    "| 图分析   | PageRank     | 有向图上的马尔可夫链 | 平稳分布求解         | 幂法                 |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 表 含有隐变量概率模型的学习方法的特点\n",
    "| 算法       | 基本原理                   | 收敛性               | 收敛速度 | 实现难易度 | 适合问题 |\n",
    "|------------|----------------------------|----------------------|----------|------------|----------|\n",
    "| EM算法     | 迭代计算、后验概率估计     | 收敛于局部最优       | 较快     | 容易       | 简单模型 |\n",
    "| 变分推理   | 迭代计算、后验概率近似估计 | 收敛于局部最优       | 较慢     | 较复杂     | 复杂模型 |\n",
    "| 吉布斯抽样 | 随机抽样、后验概率估计     | 依概率收敛于全局最优 | 较慢     | 容易       | 复杂模型 |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 表 矩阵分解的角度看话题模型\n",
    "| 方法 | 一般损失函数 $B ( D \\| U V )$ | 矩阵$U$的约束条件                                            | 矩阵$V$的约束条件                                            |\n",
    "| ---- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |\n",
    "| LSA  | $$\\| D - U V \\| _ { F } ^ { 2 }$$  | $$U^TU=I$$  | $$V V ^ { T } = \\Lambda ^ { 2 }$$  |\n",
    "| NMF  | $$\\| D - U V \\| _ { F } ^ { 2 }$$                              | $u _ { m k } \\geq 0$ | $$v _ { k n } \\geq 0$$  |\n",
    "| PLSA | $$\\sum _ { m n } d _ { m n } \\operatorname { log } \\frac { d _ { m n } } { ( U V ) _ { m n } }$$ | $$\\left. \\begin{array} { l } { U ^ { T } 1 = 1 } \\\\ { u _ { m k } \\geq 0 } \\end{array} \\right.$$ | $$\\left. \\begin{array} { l } { V ^ { T } 1 = 1 } \\\\ { v _ { k n } \\geq 0 } \\end{array} \\right.$$ |\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----\n",
    "本文代码更新地址：https://github.com/fengdu78/lihang-code\n",
    "\n",
    "中文注释制作：机器学习初学者公众号：ID:ai-start-com\n",
    "\n",
    "配置环境：python 3.5+\n",
    "\n",
    "代码全部测试通过。\n",
    "![gongzhong](../gongzhong.jpg)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
